package Vista;

import java.awt.Color;
import java.awt.Component;
import java.awt.Font;

import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;

/**
 * Formato del JTable.
 * Permite establecer el formato que se le dara a la Tabla
 * @author William Andres Castrillon
 * @version 1.0 15/09/2012
 */
public class MiRender extends DefaultTableCellRenderer {

	private static final long serialVersionUID = 1L;

	Font normal = new Font("Arial", Font.PLAIN, 12);
	Font negrilla = new Font("Helvetica", Font.BOLD, 18);
	Font cursiva = new Font("Times new roman", Font.ITALIC, 12);

	public Component getTableCellRendererComponent(JTable table, Object value,
			boolean isSelected, boolean hasFocus, int row, int column) {

		setEnabled(table == null || table.isEnabled());

		setBackground(Color.cyan);// color de fondo
		table.setFont(normal);// tipo de fuente
		table.setForeground(Color.black);// color de texto
		setHorizontalAlignment(2);// derecha

		setEnabled(table == null || table.isEnabled()); // see question above

		// si la celda esta vacia se reemplaza por el texto "<vacio>"
		if (String.valueOf(table.getValueAt(row, column)).equals("")
				|| String.valueOf(table.getValueAt(row, column)).equals(
						"<vacio>")) {
			table.setValueAt("<vacio>", row, column);
		}

		// Permite dar color a las celdas impares
		if ((row % 2) == 0)
			setBackground(new java.awt.Color(238, 238, 238));
		else
			setBackground(null);

		super.getTableCellRendererComponent(table, value, isSelected, hasFocus,
				row, column);

		return this;
	}

}
